import Vue from 'vue'
import VueRouter from 'vue-router'
import store from "../store"
// console.log(store);
Vue.use(VueRouter)  

export const  IndexRoutes =  [
  {
    path:"menu",
    component: () => import("../pages/menu/menu.vue"),
    meta:{
      title:"菜单管理"
    },
    // 路由独享守卫
    // beforeEnter(to,from,next){
    //   // 如果userInfo.menus_url 中包含了 '/menu',就next(),否则next('/')  includex()  包含返回true 没有 false 
    //   let { getters:{userInfo} } = store;  // let userInfo = store.getters.userInfo
    //   if(userInfo.menus_url.includex("/menu")){
    //     next();
    //   }else{
    //     next("/")
    //   }
    // }
  },
  {
    path:"role",
    component: () => import("../pages/role/role.vue"),
    meta:{
      title:"角色管理"
    }
  },
  {
    path:"manage",
    component: () => import("../pages/manage/manage.vue"),
    meta:{
      title:"管理员管理"
    }
  },
  {
    path:"cate",
    component: () => import("../pages/cate/cate.vue"),
    meta:{
      title:"商品分类"
    }
  },
  {
    path:"specs",
    component: () => import("../pages/specs/specs.vue"),
    meta:{
      title:"商品规格"
    }
  },
  {
    path:"goods",
    component: () => import("../pages/goods/goods.vue"),
    meta:{
      title:"商品管理"
    }
  },
  {
    path:"banner",
    component: () => import("../pages/banner/banner.vue"),
    meta:{
      title:"轮播图管理"
    }
  },
  {
    path:"vip",
    component: () => import("../pages/vip/vip.vue"),
    meta:{
      title:"会员管理"
    }
  },
  {
    path:"seckill",
    component: () => import("../pages/seckill/seckill.vue"),
    meta:{
      title:"秒杀管理"
    }
  },
]

//循环IndexRoutes,给每一项添加独享守卫 beforeEnter
IndexRoutes.forEach( item => {
  item.beforeEnter = (to,from,next) => {
    let { getters:{
            userInfo
          } 
        } = store; // let userInfo = store.getters.userInfo
    if( userInfo.menus_url.includes( '/' + item.path) ){
      next();
    }else{
      next("/")
    }
  }
})



const routes = [
  {
    path:"/login",
    component:() => import("../pages/login/login.vue"),
  },
  {
    path:"/",
    component: () => import("../pages/index/index.vue"),
    children:[
      {
        path:"",
        component: () => import("../pages/home/home.vue")
      },
      // 拷贝一份地址
      ...IndexRoutes
    ]
  },
  {
    path:"*",
    component: () => import("../pages/login/login.vue")
  }
]

const router = new VueRouter({
  routes
})


// 全局前置守卫
router.beforeEach((to,from,next)=>{
  if(to.path==="/login"){
    next();
    return;
  }
  if(localStorage.getItem("userInfo")){
    next()
    return;
  }
  next("/login")

})
export default router
